package net.csdn.business.common.oauth2.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import net.csdn.business.common.domain.request.oauth.GatewayRouteInfoQuery;
import net.csdn.business.common.domain.request.oauth.NewGatewayRouteInfoDTO;
import net.csdn.business.common.domain.request.oauth.UpdateGatewayRouteInfoDTO;
import net.csdn.business.common.domain.vo.oauth.GatewayRouteInfoVO;
import net.csdn.business.common.oauth2.model.entity.GatewayRouteInfo;

import java.util.List;
/**
 * 网关路由信息Service接口
 * 
 * @author zhangyl
 * @date 2022-12-13
 */
public interface IGatewayRouteInfoService extends IService<GatewayRouteInfo>
{

    /**
     * 分页查询网关路由信息
     *
     * @param query 网关路由信息详细信息
     * @return 网关路由信息
     */
    public Page<GatewayRouteInfoVO> findPageList(GatewayRouteInfoQuery query);

    /**
     * 根据id查询网关路由信息详细信息
     * 
     * @param id 网关路由信息主键
     * @return 网关路由信息
     */
    public GatewayRouteInfoVO getById(Long id);

    /**
     * 根据id查询网关路由信息详细信息
     *
     * @param routeId 网关路由id
     * @return 网关路由信息
     */
    public GatewayRouteInfo selectByRouteId(String routeId);

    /**
     * 查询网关路由信息列表
     * @return 网关路由信息集合
     */
    public List<GatewayRouteInfo> selectGatewayRouteInfoList();

    /**
     * 新增网关路由信息
     * 
     * @param gatewayRouteInfo 网关路由信息
     * @return 结果
     */
    public Integer addGatewayRoute(NewGatewayRouteInfoDTO gatewayRouteInfo);

    /**
     * 修改网关路由信息
     * 
     * @param gatewayRouteInfo 网关路由信息
     * @return 结果
     */
    public Integer updateGatewayRoute(UpdateGatewayRouteInfoDTO gatewayRouteInfo);


    /**
     * 删除网关路由信息信息
     * 
     * @param id 网关路由信息主键
     * @return 结果
     */
    public Integer deleteGatewayRoute(Long id);
}
